// PluginManager.h: interface for the CPluginManager class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PLUGINMANAGER_H__EA558420_225F_4E79_A4C0_969A31F7D375__INCLUDED_)
#define AFX_PLUGINMANAGER_H__EA558420_225F_4E79_A4C0_969A31F7D375__INCLUDED_

#include "Plugin.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CPluginManager  
{
public:
	int GetPluginCount();
	CPlugin* GetPluginByID(UINT nID);
	CPlugin* GetPluginByIndex(int nIndex)
	{
		return m_arrPlugin.GetAt(nIndex);
	}
	CPlugin* operator [](int nIndex)
	{
		return m_arrPlugin.GetAt(nIndex);
	}
//	CImageList m_il;
	void OnPluginCommand(UINT nID);
	CPlugin* GetPluginByCommandID(UINT nID);
	void ReleasePlugins();
	void LoadPlugins();
	CPluginManager();
	~CPluginManager();

	CArray< CPlugin*, CPlugin* > m_arrPlugin;
	CArray< CBitmapMenu::CItemBitmap*, CBitmapMenu::CItemBitmap* > m_arrItemBitmap;
protected:
	void LoadPluginUI();
};

#endif // !defined(AFX_PLUGINMANAGER_H__EA558420_225F_4E79_A4C0_969A31F7D375__INCLUDED_)
